In the situation involving networks where numerous client terminals are connected to a test server, it is desirable to obtain information as to the actual execution times for accessing programs, and also for example, accessing information about the time required for executing different parts of available programs.
Thus, a performance and measurement system for defining and measuring user-relevant response times to remote client stations which are serviced by a terminal server, is of great importance to evaluate the status of a network of users and terminal servers.
Performance data produced by the interaction of the client-users and the terminal server is collected and subsequently logged. Once the data is logged, the data may then be accessed and collected by an Administrator in order to evaluate the system responses involved in the network.
Performance tools are used to measure the performance of the test server in regard to its availability of servicing the various and multiple clients. A resultant state of the system may be accomplished in order to evaluate the total resource utilization of the system. Such a determination may eventually discover which resources cause slowdowns or bottlenecks in system performance, and once identified, these resources can be upgraded to improve system performance.
Another useful purpose for evaluating computer performance may be for what is called xe2x80x9capplication tuningxe2x80x9d in order to focus on particular user applications or situations in order to determine how to improve system performance regarding a particular application.
Another use for performance tools is for the purpose of troubleshooting and to help determine why system performance may be degrading without any immediately apparent reason.
In many situations, so-called performance tools have generated too much information making it difficult for an operator-user to fully comprehend the nature of what is happening. If a system gathers and logs huge amounts of information, this requires large memory sources for data logging and is often very difficult to analyze, in addition to taking a lot of processing power to generate this information and then to try to present this data into a form that is useful to a user.
It is always a problem to identify when the performance of a system has been degraded beyond acceptable limitations. Many of the earlier attempts for such analysis provided only indirect information regarding the end-user""s performance expectations in addition to requiring extraordinary administration and management efforts in the system to develop the required information. Many of the earlier systems were influenced by the test environment characteristics and did not provide feedback for the actual client sessions under test. As a result, this necessitated the opening of additional terminal server connections which were administratively time-consuming and caused significant additional CPU overhead.
FIG. 5 is an illustration of one type of earlier performance measurement which was only partially useful as it only provided very limited information regarding processor utilization which limited the user""s ability to evaluate the conditions of operation.
The presently described system and method will be seen to measure and collect the response times for any variety of designated actions initiated by terminal server scripts. The method will be seen to call a timer utility before and after each designated action, such as logging on, opening applications, and typing of characters.
Then, by noting the response times involved during a sequence of different operating conditions (small number of concurrent client-users over to a large number of concurrent client-users) it is then possible to determine what are the acceptable and non-acceptable operating limits for the entire system.
In a system where multiple client-users are connected via hubs and switches to a back-end server, there is provided a method whereby a program is provided to measure, collect, and analyze the response times for any variety of designated actions initiated by terminal server scripts, and whereby the calling of a timer utility, before and after designated actions, will provide information on the resulting response times.
Because the timing components are added to existing client scripts, rather than adding new scripts, the timing components are minimally intrusive to the load on the server under test. The timing component provides data for all the sessions involved in any given test and the timer is integrated into sessions that are already part of the test environment.
Actions can be designated for measurement such that the resulting data can be analyzed and is directly relevant to the end-user""s real world performance expectations. The resulting data is minimally influenced by any test environment characteristics. To achieve this, the administrator modifies existing scripts by adding commands that execute strictly on the Remote Client PC.
The accumulated response times are saved to the Client PC-User terminals.